嗨!!大家好,我是剛轉職成後端工程師的鰻魚燒
會想寫這一系列的文章主要是因為,在開發公司專案的時候,才發現原來MongoDB的Aggregate竟然如此強大,可以在搜尋時同時做到計算、統整資料,甚至可以拉其他collection的資料一起使用,個人覺得使用上跟MySQL的join、sum、group很多操作都蠻像的,只是在語法上的寫法有些不同。
第一次使用時,也踩過不少的坑,很常遇到我明明就按照官方文件寫,但為啥結果不符合預期,為什麼終端機又噴錯,因此邊開發邊做筆記紀錄,避免下次再踩同樣的坑害死自己。
同時感嘆當初在寫第一份作品集時,我竟然只用find、create、update這些基本指令,然後將資料撈出來自己慢慢算XD,默默寫完一個記帳本專案。
在此跟大家分享一下,aggregate常用的資料整理方式,以及會使用到的aggregation pipeline operators,主要都是分享我自己曾經使用過的語法,至於沒用過或是比較冷門的operators應該會被我跳過。
如果有認真看過MongoDB的官方文件,就會發現到MongoDB提供的operators真的有很多種類,如果對aggregation有興趣的話,蠻推薦大家到MongoDB官方文件看一下,每個語法都很貼心的附上使用範例。
P.S 由於是第一次參加鐵人賽的關係,有點不確定aggregate到底可以寫幾篇文章,如果寫不到30篇的話,應該會以番外篇的形式補充bulkWrite、findOneAndUpdate、index這些我覺得在MongoDB也很好用的功能。
希望能順利完賽,本來想囤稿的,結果到開賽時只囤一天份,好刺激啊
本篇文章同步放在我的部落格,大家有空可以進來逛逛
同時感嘆當初在寫第一份作品集時,我竟然只用find、create、update這些基本指令,然後將資料撈出來自己慢慢算XD,默默寫完一個記帳本專案。
我人生的第一個需要進資料庫撈資料跑的專案也是這樣玩的XD